home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / gradie1r / picedit.frm next >
Text File  |  1999-07-25  |  16KB  |  581 lines

  1. VERSION 5.00
  2. Object = "{3B7C8863-D78F-101B-B9B5-04021C009402}#1.2#0"; "RICHTX32.OCX"
  3. Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
  4. Begin VB.Form frmPicEdit 
  5.    AutoRedraw      =   -1  'True
  6.    BackColor       =   &H80000004&
  7.    Caption         =   "Overlay text on picture"
  8.    ClientHeight    =   5205
  9.    ClientLeft      =   1515
  10.    ClientTop       =   3030
  11.    ClientWidth     =   5010
  12.    ClipControls    =   0   'False
  13.    BeginProperty Font 
  14.       Name            =   "MS Sans Serif"
  15.       Size            =   8.25
  16.       Charset         =   0
  17.       Weight          =   700
  18.       Underline       =   0   'False
  19.       Italic          =   0   'False
  20.       Strikethrough   =   0   'False
  21.    EndProperty
  22.    Icon            =   "PicEdit.frx":0000
  23.    LinkTopic       =   "Form1"
  24.    LockControls    =   -1  'True
  25.    OLEDropMode     =   1  'Manual
  26.    ScaleHeight     =   5205
  27.    ScaleWidth      =   5010
  28.    Begin MSComDlg.CommonDialog CommonDialog1 
  29.       Left            =   4080
  30.       Top             =   120
  31.       _ExtentX        =   847
  32.       _ExtentY        =   847
  33.       _Version        =   393216
  34.    End
  35.    Begin VB.CommandButton CmdOverlayText 
  36.       Height          =   405
  37.       Left            =   810
  38.       Picture         =   "PicEdit.frx":000C
  39.       Style           =   1  'Graphical
  40.       TabIndex        =   11
  41.       ToolTipText     =   "Proceed overlay"
  42.       Top             =   180
  43.       Visible         =   0   'False
  44.       Width           =   405
  45.    End
  46.    Begin VB.CommandButton cmdTextFont 
  47.       Height          =   405
  48.       Left            =   1440
  49.       Picture         =   "PicEdit.frx":010E
  50.       Style           =   1  'Graphical
  51.       TabIndex        =   1
  52.       ToolTipText     =   "Select text font"
  53.       Top             =   180
  54.       Width           =   405
  55.    End
  56.    Begin VB.CommandButton cmdTextColor 
  57.       Height          =   405
  58.       Left            =   2070
  59.       Picture         =   "PicEdit.frx":0908
  60.       Style           =   1  'Graphical
  61.       TabIndex        =   2
  62.       ToolTipText     =   "Select text color"
  63.       Top             =   180
  64.       Width           =   405
  65.    End
  66.    Begin VB.CommandButton cmdInputText 
  67.       Height          =   405
  68.       Left            =   810
  69.       Picture         =   "PicEdit.frx":0F72
  70.       Style           =   1  'Graphical
  71.       TabIndex        =   3
  72.       ToolTipText     =   "Input text"
  73.       Top             =   180
  74.       Width           =   405
  75.    End
  76.    Begin VB.CommandButton cmdClose 
  77.       Height          =   405
  78.       Left            =   3360
  79.       Picture         =   "PicEdit.frx":1074
  80.       Style           =   1  'Graphical
  81.       TabIndex        =   5
  82.       ToolTipText     =   "Close"
  83.       Top             =   180
  84.       Width           =   405
  85.    End
  86.    Begin VB.CommandButton cmdSave 
  87.       Height          =   405
  88.       Left            =   2730
  89.       Picture         =   "PicEdit.frx":186E
  90.       Style           =   1  'Graphical
  91.       TabIndex        =   4
  92.       ToolTipText     =   "Save"
  93.       Top             =   180
  94.       Width           =   405
  95.    End
  96.    Begin VB.CommandButton cmdOpen 
  97.       Height          =   405
  98.       Left            =   180
  99.       Picture         =   "PicEdit.frx":1ED8
  100.       Style           =   1  'Graphical
  101.       TabIndex        =   0
  102.       ToolTipText     =   "Open graphics file"
  103.       Top             =   180
  104.       Width           =   405
  105.    End
  106.    Begin VB.HScrollBar HScroll1 
  107.       Height          =   345
  108.       Left            =   0
  109.       TabIndex        =   8
  110.       Top             =   6360
  111.       Width           =   10755
  112.    End
  113.    Begin VB.PictureBox PicZ 
  114.       AutoRedraw      =   -1  'True
  115.       BackColor       =   &H80000006&
  116.       Height          =   3135
  117.       Left            =   180
  118.       ScaleHeight     =   205
  119.       ScaleMode       =   3  'Pixel
  120.       ScaleWidth      =   301
  121.       TabIndex        =   6
  122.       Top             =   1800
  123.       Width           =   4575
  124.       Begin RichTextLib.RichTextBox rtbText 
  125.          Height          =   465
  126.          Left            =   120
  127.          TabIndex        =   10
  128.          Top             =   2610
  129.          Visible         =   0   'False
  130.          Width           =   1815
  131.          _ExtentX        =   3201
  132.          _ExtentY        =   820
  133.          _Version        =   393217
  134.          BackColor       =   16777215
  135.          BorderStyle     =   0
  136.          Enabled         =   -1  'True
  137.          HideSelection   =   0   'False
  138.          Appearance      =   0
  139.          OLEDragMode     =   0
  140.          OLEDropMode     =   0
  141.          TextRTF         =   $"PicEdit.frx":1FDA
  142.       End
  143.       Begin VB.PictureBox PicX 
  144.          AutoRedraw      =   -1  'True
  145.          BorderStyle     =   0  'None
  146.          Height          =   2085
  147.          Left            =   0
  148.          ScaleHeight     =   2085
  149.          ScaleWidth      =   4035
  150.          TabIndex        =   9
  151.          Top             =   0
  152.          Width           =   4035
  153.       End
  154.       Begin VB.PictureBox PicY 
  155.          AutoRedraw      =   -1  'True
  156.          BackColor       =   &H8000000E&
  157.          BorderStyle     =   0  'None
  158.          Height          =   2580
  159.          Left            =   0
  160.          ScaleHeight     =   2580
  161.          ScaleWidth      =   4500
  162.          TabIndex        =   7
  163.          Top             =   0
  164.          Visible         =   0   'False
  165.          Width           =   4500
  166.       End
  167.    End
  168.    Begin VB.Label Label1 
  169.       Caption         =   "Label1"
  170.       Height          =   855
  171.       Left            =   180
  172.       TabIndex        =   12
  173.       Top             =   750
  174.       Width           =   4545
  175.    End
  176. End
  177. Attribute VB_Name = "frmPicEdit"
  178. Attribute VB_GlobalNameSpace = False
  179. Attribute VB_Creatable = False
  180. Attribute VB_PredeclaredId = True
  181. Attribute VB_Exposed = False
  182. ' PicEdit.frm
  183. '
  184. ' By Herman Liu
  185. '
  186. ' To show how one can place rich text on picture, in a simple way. (VB seperates
  187. ' rich text and picture as distinctly different types of format, and does not provide
  188. ' functions to allow superimposing the former on the latter).
  189.  
  190. Option Explicit
  191.  
  192. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
  193.      (ByVal hwnd As Long, ByVal msg As Long, ByVal wp As Long, Ip As Any) As Long
  194.      
  195. Private Type Rect
  196.     Left As Long
  197.     Top As Long
  198.     Right As Long
  199.     Bottom As Long
  200. End Type
  201.  
  202. Private Type CharRange
  203.     firstChar As Long
  204.     lastChar As Long
  205. End Type
  206.  
  207. Private Type FormatRange
  208.     hdc As Long
  209.     hdcTarget As Long
  210.     rectRegion As Rect
  211.     rectPage As Rect
  212.     mCharRange As CharRange
  213. End Type
  214.  
  215. Private Const WM_USER As Long = &H400
  216. Private Const EM_FORMATRANGE As Long = WM_USER + 57
  217. Dim mFormatRange As FormatRange
  218. Dim rectDrawTo As Rect, rectPage As Rect
  219. Dim TextLength As Long, newStartPos As Long
  220. Dim dumpaway As Long
  221. Dim X1 As Single, Y1 As Single, X2 As Single, Y2 As Single
  222. Dim NoPicFlag As Boolean, RegionFlag As Boolean
  223. Dim fso As FileSystemObject
  224.  
  225.  
  226. Private Sub Form_Load()
  227.     Me.ScaleMode = vbTwips
  228.     PicX.ScaleMode = vbTwips
  229.     PicY.ScaleMode = vbTwips
  230.     PicZ.ScaleMode = vbPixels
  231.  
  232.     PicZ.AutoSize = True
  233.     PicX.AutoSize = True
  234.     PicY.AutoSize = True
  235.     
  236.     PicZ.AutoRedraw = True
  237.     PicX.AutoRedraw = True
  238.     PicY.AutoRedraw = True
  239.     
  240.     PicZ.Visible = True
  241.     PicX.Visible = True
  242.     PicY.Visible = False
  243.     
  244.     PicZ.BorderStyle = 1
  245.     PicX.BorderStyle = 0
  246.     PicY.BorderStyle = 0
  247.     
  248.     PicZ.BackColor = &H80000006
  249.     
  250.     PicY.Top = PicX.Top
  251.     PicY.Left = PicX.Left
  252.     
  253.     X1 = 0: Y1 = 0: X2 = 0: Y2 = 0
  254.     
  255.     CmdOverlayText.Visible = False
  256.     Set fso = New FileSystemObject
  257.     rtbText.Visible = False
  258.     If fso.FileExists("\windows\clouds.bmp") Then
  259.          PicX.Picture = LoadPicture("\windows\clouds.bmp", vbCFBitmap)
  260.          NoPicFlag = False
  261.     Else
  262.          NoPicFlag = True
  263.     End If
  264.     PicY.Width = PicX.Width
  265.     PicY.Height = PicX.Height
  266.     PicY.Picture = PicX.Picture
  267.     PicY.Move PicX.Top, PicX.Left
  268.     
  269.     Dim t
  270.